home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 21 / AACD 21.iso / AACD / Programming / amigatalk / general / AmigaTalk.st next >
Encoding:
Text File  |  2001-03-13  |  3.3 KB  |  142 lines

  1. "--------------------------------------------------------------------"
  2. " AmigaTalk Class is now a Singleton class. "
  3. "--------------------------------------------------------------------"
  4.  
  5. Class AmigaTalk :Dictionary
  6. ! uniqueInstance msg wTitle globalDict !
  7. [
  8.    privateNew ! newinstance !
  9.      newinstance <- super new.
  10.  
  11.      ^ newinstance
  12. |
  13.    new
  14.      ^ (self privateInitialize)
  15. |
  16.    privateInitialize
  17.      (uniqueInstance isNil)
  18.        ifTrue: [uniqueInstance <- self privateNew.
  19.                 globalDict     <- Dictionary new.
  20.                ].
  21.  
  22.      ^ self    "uniqueInstance??"
  23. |
  24.    clearScreen
  25.       <primitive 162>  "For Curses & Plot3 only."
  26. |
  27.    globalDictionary
  28.       ^ globalDict
  29. |
  30.    addGlobal: newGlobal key: newKey
  31.       ^ (super at: newKey put: newGlobal)
  32. |
  33.    date
  34.       ^ <primitive 160 >
  35. |
  36.    debug: n
  37.       ^ <primitive 8 2 n>
  38. |
  39.    display
  40.       ^ <primitive 8 1 1>
  41. |
  42.    displayAssign
  43.       ^ <primitive 8 1 2>
  44. |
  45.    doPrimitive: primNumber withArguments: argArray
  46.       ^ <primitive 30 primNumber argArray>
  47. |
  48.    noDisplay
  49.       ^ <primitive 8 1 0>
  50. |
  51.    perform: aMessage withArguments: argArray
  52.       ^ <primitive 143 argArray aMessage >
  53. |
  54.    sh: command
  55.       ^ <primitive 125 command >
  56. |
  57.    time: aBlock      ! start !
  58.       start <- <primitive 161>.   "This is NOT very accurate!"
  59.       aBlock value.
  60.       ^ <primitive 161> - start
  61. |
  62.    getProcessAddress: procName
  63.       ^ <primitive 250 0 0 procName>
  64. |
  65.    getTaskAddress: taskName
  66.       ^ <primitive 250 0 1 taskName>
  67. |
  68.    getScreenAddress: screenName
  69.       ^ <primitive 250 0 2 screenName>
  70. |
  71.    getWindowAddress: windowName
  72.       ^ <primitive 250 0 3 windowName>
  73. |
  74.    getTaskAddressList ! array !
  75.       ^ array <- <primitive 250 2 1>
  76. |
  77.    getProcessAddressList ! array!
  78.       ^ array <- <primitive 250 2 0>
  79. |
  80.    getScreenAddressList ! array !
  81.       ^ array <- <primitive 250 2 2> "return an Array of Screen addresses."
  82. |
  83.    getWindowAddressList ! array !
  84.       ^ array <- <primitive 250 2 3> "return an Array of Window addresses."
  85. |
  86.    showTaskProcessList
  87.       ^ <primitive 250 1 4>
  88. |
  89.    showScreenWindowList
  90.       ^ <primitive 250 1 5>
  91. |
  92.    displayProcessInfo: procAddress
  93.       ^ <primitive 250 1 0 procAddress>
  94. |
  95.    displayTaskInfo: taskAddress
  96.       ^ <primitive 250 1 1 taskAddress>
  97. |
  98.    displayScreenInfo: screenAddress
  99.       ^ <primitive 250 1 2 screenAddress>
  100. |
  101.    displayWindowInfo: windowAddress
  102.       ^ <primitive 250 1 3 windowAddress>
  103. |
  104.    newIO: msgString title: title
  105.       msg    <- msgString.    "Must be used before gets or displays:"
  106.       wTitle <- title.
  107.       ^ self
  108. |
  109.    setIOMessage: newMessage
  110.       msg <- newMessage
  111. |
  112.    setIOTitle: newTitle
  113.       wTitle <- newTitle
  114. |
  115.    setIODirectory: newDirectory
  116.       msg <- newDirectory
  117. |
  118.    setIOScreenName: newScreenName
  119.       msg <- newScreenName
  120. |
  121.    getString
  122.       ^ <primitive 186 0 msg wTitle>  "Return a String from the User."
  123. |
  124.    getInteger
  125.       ^ <primitive 186 1 msg wTitle>  "Return an Integer from the User."
  126. |
  127.    getFileName
  128.       ^ <primitive 186 5 msg wTitle>  "Get a filename from ASL."
  129. |
  130.    getScreenModeID
  131.       ^ <primitive 186 6 msg wTitle>  "Get a ScreenModeID from ASL."
  132. |
  133.    displayFile: fileName
  134.       <primitive 186 2 fileName>
  135. |      
  136.    displayString: string
  137.       <primitive 186 3 string msg wTitle>
  138. |
  139.    displayInteger: integer
  140.       <primitive 186 4 integer msg wTitle>
  141. ]
  142.